/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package juego;

/**
 *
 * @author VIC
/*	============ LISTA VIVIENDAS ============ */
/*		Cabaña - Casa - Bungalow - Palafito		*/

class tipoVivienda{
	private int tiempoProd;
	private String nombre;	// nombre del edificio
	private int produccion;	// oro que se puede recolectar del edificio
	private int pobAdd;
	private int nivel;

	public tipoVivienda(int tmpProd, String nombre, int produccion, int pobAdd, int nivel){
		this.tiempoProd = tmpProd;
		this.nombre = nombre;
		this.produccion = produccion;
		this.pobAdd = pobAdd;
		this.nivel = nivel;
	}

	public int getTiempoProd(){return tiempoProd;}
	public String getNombre(){return nombre;}
	public int getCantProd(){return produccion;}
	public int poblacionNueva(){return pobAdd;}
	public int getNivelRequerido(){return nivel;}
}

class Vivienda extends Construccion{
		/* ====== GOLD ====== SILVER ====== MADERA ====== PETROLEO ====== NIVEL ====== */
	public static String[] recCabanha = {"CABANHA: oro 750","","",""," Nivel requerido: "};
	public static String[] recCasa = {"CASA: oro 300","","",""," Nivel requerido: "};
	public static String[] recBungalow = {"BUNGALOW: oro 550","","",""," Nivel requerido: "};
	public static String[] recPalafito = {"PALAFITO: oro 400","","",""," Nivel requerido: "};
        
	private int tiempoInicio = 10;

        private int indiceConstruccion;
	/* 0 = produccion terminada */ /* 1 = en produccion */
	private int estado=1;
        private char simbolo;

        public char getSimbolo(){
            return simbolo;
        }
	private static tipoVivienda[] house;
	static{
		house = new tipoVivienda[4];
		house[0] = new tipoVivienda(9,"Cabanha",1000,150,10);
		house[1] = new tipoVivienda(3,"Casa",200,20,3);
		house[2] = new tipoVivienda(7,"Bungalow",700,90,8);
		house[3] = new tipoVivienda(5,"Palafito",500,50,6);
                
	}

        public static int getLongxK(){
            return 2;
        }
        public static int getLongyK(){
            return 3;
        }
        public static int getLongxT(){
            return 2;
        }
        public static int getLongyT(){
            return 2;
        }
        public static int getLongxB(){
            return 3;
        }
        public static int getLongyB(){
            return 3;
        }
        public static int getLongxF(){
            return 3;
        }
        public static int getLongyF(){
            return 2;
        }

	public Vivienda(int opcion, char simb){
		estado = 1;
                simbolo = simb;
		this.indiceConstruccion = opcion-1;
	}

	public void setEstado(int E){this.estado = E;}
	public int getEstado(){return estado;}
	public void disminuyeTiempo(){tiempoInicio = tiempoInicio-1;}

	public void recolectar(){
		if(estado==0){
			Juego.gold += house[indiceConstruccion].getCantProd();
			System.out.println("Se recolecto correctamente " + house[indiceConstruccion].getCantProd() + " de gold");
			estado = 1;
		}else	System.out.println("Todavia no puede recolectar, la vivienda aun sigue en produccion");
	}

	public int getDuracion(){return house[indiceConstruccion].getTiempoProd();}
	public int getTiempoInicial(){return tiempoInicio;}
	public int getNivel(){return house[indiceConstruccion].getNivelRequerido();}

	public static void mostrarVivienda(){
		System.out.print("1) ");
		for(int i=0;i<5;i++) System.out.print(Vivienda.recCabanha[i]);
		System.out.println(house[0].getNivelRequerido());

		System.out.print("2) ");
		for(int i=0;i<5;i++) System.out.print(Vivienda.recCasa[i]);
		System.out.println(house[1].getNivelRequerido());

		System.out.print("3) ");
		for(int i=0;i<5;i++) System.out.print(Vivienda.recBungalow[i]);
		System.out.println(house[2].getNivelRequerido());

		System.out.print("4) ");
		for(int i=0;i<5;i++) System.out.print(Vivienda.recPalafito[i]);
		System.out.println(house[3].getNivelRequerido());

		System.out.print("Ingrese una opcion válida (sin espacios): ");
	}
        public void mostrar(){

        }
}

